home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Programming / AmigaTalk / Intuition / IText.st < prev    next >
Text File  |  2000-05-03  |  2KB  |  83 lines

  1. "---------------------------------------------------"
  2. " IText Class implements control of Amiga IntuiText "
  3. " except for actually displaying it, which is in the"
  4. " Window class.  Class Font uses the same basic     "
  5. " primitive number.                                 "
  6. "---------------------------------------------------"
  7.  
  8. Class IText :Glyph
  9.   frontPen backPen drawMode     leftEdge   topEdge 
  10.   fontName theText nextTextName textLength theTextName
  11. !
  12. [
  13.    getPens
  14.       frontPen <- <primitive 188 2 0 theTextName>.
  15.       backPen  <- <primitive 188 2 1 theTextName>.
  16.       ^ frontPen @ backPen
  17. |
  18.    getTextLength
  19.       ^ textLength <- <primitive 188 9 theTextName>
  20. |
  21.    getIText
  22.       ^ theText <- <primitive 188 2 6 theTextName>
  23. |
  24.    getDrawMode
  25.       ^ drawMode <- <primitive 188 2 2 theTextName>
  26. |
  27.    getITextOrigin
  28.       leftEdge <- <primitive 188 2 3 theTextName>.
  29.       topEdge  <- <primitive 188 2 4 theTextName>.
  30.       ^ leftEdge @ topEdge
  31. |
  32.    getFontName
  33.       ^ fontName <- <primitive 188 2 5 theTextName>
  34. |
  35.    getNextText
  36.       ^ nextTextName <- <primitive 188 2 7 theTextName>
  37. |
  38.    setPens: newPensPoint ! fp bp !
  39.       fp <- newPensPoint x.
  40.       bp <- newPensPoint y.
  41.       <primitive 188 3 0 fp theTextName>.
  42.       <primitive 188 3 1 bp theTextName>.
  43.       frontPen <- fp.
  44.       backPen  <- bp
  45. |
  46.    setDrawMode: newDrawMode
  47.       <primitive 188 3 2 newDrawMode theTextName>.
  48.       drawMode <- newDrawMode
  49. |
  50.    setITextOrigin: newPoint ! x y !
  51.       x <- newPoint x.
  52.       y <- newPoint y.
  53.       <primitive 188 3 3 x theTextName>.
  54.       <primitive 188 3 4 y theTextName>.
  55.       leftEdge <- x.
  56.       topEdge  <- y
  57. |
  58.    setFontName: newFontName
  59.       <primitive 188 3 5 newFontName theTextName>.
  60.       fontName <- newFontName
  61. |
  62.    setNextText: newNextText
  63.       <primitive 188 3 7 newNextText theTextName>.
  64.       nextTextName <- newNextText
  65. |
  66.    setIText: newIText
  67.       <primitive 188 3 6 newIText theTextName>.
  68.       theText <- newIText
  69. |
  70.    remove
  71.       <primitive 188 0 theTextName>
  72. |
  73.    registerTo: windowTitle
  74.       <primitive 188 8 windowTitle theTextName>
  75. |
  76.    new: newIText
  77.       theText     <- newIText.
  78.       theTextName <- newIText.
  79.       <primitive 188 1 newIText newIText>.
  80.       ^ self
  81. ]
  82.